home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / QuickTime VR / MacOS / QuickDraw™ 3D 1.0.6F4 SDK / Development / 3DMF parser / 0.9 version / MFPRIMTV.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-24  |  7.3 KB  |  167 lines  |  [TEXT/MPS ]

  1. #ifndef    MF3D_PRIMITIVES_H
  2. #define    MF3D_PRIMITIVES_H
  3. /*==============================================================================
  4.  *
  5.  *    File:        MFPRIMTV.H
  6.  *
  7.  *    Function:    Primitive I/O routines
  8.  *
  9.  *    Author(s):    Rick Wong (RWW)
  10.  *
  11.  *    Copyright:    (c) 1995 by Apple Computer, Inc., all rights reserved.
  12.  *
  13.  *    Change History (most recent first):
  14.  *        Fabio    Changed file name to 8 characters
  15.  *        F3A_RWW    TOC stuff works.
  16.  *        F2D_RWW    File created.
  17.  *==============================================================================
  18.  */
  19. #if defined(__COMPILING_ON_MACINTOSH__)
  20. #pragma once
  21. #endif
  22.  
  23. #include "MFTYPES.H"
  24. #include "MFINTOBJ.H"
  25. #include "MFLABELS.H"
  26. #include "MFOBJTYP.H"
  27.  
  28. MF3DErr    MF3D_GetPrimitivesAccessor(MF3DDataFormatEnum inDataFormat,
  29.                 MF3D_IOPrimitivesTable *outPrimitives);
  30.  
  31. /*==============================================================================
  32.  *    Validation routines
  33.  *
  34.  *    do nothing at the moment
  35.  *==============================================================================
  36.  */
  37. #define    MF3D_ValidateReadSize(metafile, size)
  38. #define    MF3D_ValidateWriteSize(metafile, size)
  39.  
  40. /*==============================================================================
  41.  *    I/O Dispatchers
  42.  *==============================================================================
  43.  */
  44. /* integers */
  45. MF3DErr    MF3D_Uns8Read(MF3D_FilePtr metafile, MF3DUns8 *data);
  46. MF3DErr    MF3D_Uns8Write(MF3D_FilePtr metafile, const MF3DUns8 data);
  47. MF3DErr    MF3D_Uns16Read(MF3D_FilePtr metafile, MF3DUns16 *data);
  48. MF3DErr    MF3D_Uns16Write(MF3D_FilePtr metafile, const MF3DUns16 data);
  49. MF3DErr    MF3D_Uns32Read(MF3D_FilePtr metafile, MF3DUns32 *data);
  50. MF3DErr    MF3D_Uns32Write(MF3D_FilePtr metafile, const MF3DUns32 data);
  51. MF3DErr    MF3D_Uns64Read(MF3D_FilePtr metafile, MF3DUns64 *data);
  52. MF3DErr    MF3D_Uns64Write(MF3D_FilePtr metafile, const MF3DUns64 data);
  53. MF3DErr    MF3D_Int8Read(MF3D_FilePtr metafile, MF3DInt8 *data);
  54. MF3DErr    MF3D_Int8Write(MF3D_FilePtr metafile, const MF3DInt8 data);
  55. MF3DErr    MF3D_Int16Read(MF3D_FilePtr metafile, MF3DInt16 *data);
  56. MF3DErr    MF3D_Int16Write(MF3D_FilePtr metafile, const MF3DInt16 data);
  57. MF3DErr    MF3D_Int32Read(MF3D_FilePtr metafile, MF3DInt32 *data);
  58. MF3DErr    MF3D_Int32Write(MF3D_FilePtr metafile, const MF3DInt32 data);
  59. MF3DErr    MF3D_Int64Read(MF3D_FilePtr metafile, MFINT64 *data);
  60. MF3DErr    MF3D_Int64Write(MF3D_FilePtr metafile, const MFINT64 data);
  61. /* floats */
  62. MF3DErr    MF3D_Float32Read(MF3D_FilePtr metafile, MF3DFloat32 *data);
  63. MF3DErr    MF3D_Float32Write(MF3D_FilePtr metafile, const MF3DFloat32 data);
  64. MF3DErr    MF3D_Float64Read(MF3D_FilePtr metafile, MF3DFloat64 *data);
  65. MF3DErr    MF3D_Float64Write(MF3D_FilePtr metafile, const MF3DFloat64 data);
  66. /* strings */
  67. MF3DErr    MF3D_CStringRead(MF3D_FilePtr metafile, MF3DCStringPtr *data);
  68. MF3DErr    MF3D_CStringWrite(MF3D_FilePtr metafile, MF3DCStringPtr data);
  69. /* raw data */
  70. MF3DErr    MF3D_RawDataRead(MF3D_FilePtr metafile, MF3DSize size,
  71.                 MF3DRawDataPtr data);
  72. MF3DErr    MF3D_RawDataWrite(MF3D_FilePtr metafile, MF3DSize size,
  73.                 MF3DRawDataPtr data);    
  74. /* enums */
  75. MF3DErr    MF3D_EnumRead(MF3D_FilePtr metafile, MF3D_EnumTablePtr labelID,
  76.         MF3DEnumData *data);
  77. MF3DErr    MF3D_EnumWrite(MF3D_FilePtr metafile, MF3D_EnumTablePtr labelID,
  78.         const MF3DEnumData data);
  79. /* flags */
  80. MF3DErr    MF3D_FlagsRead(MF3D_FilePtr metafile, MF3D_FlagTablePtr labelID,
  81.         MF3DFlagData *data);
  82. MF3DErr    MF3D_FlagsWrite(MF3D_FilePtr metafile, MF3D_FlagTablePtr labelID,
  83.         const MF3DFlagData data);
  84. /* object ids */
  85. MF3DErr    MF3D_ObjIDRead(MF3D_FilePtr metafile, MF3DObjType *data);
  86. MF3DErr    MF3D_ObjWrite(MF3D_FilePtr metafile, MF3DObjType data);
  87. /* begin/end (size) */
  88. MF3DErr    MF3D_BeginRead(MF3D_FilePtr metafile, MF3D_ObjStuffPtr *objStuff,
  89.                 MF3DReferenceID    *refID, MF3DObjType *objType);
  90. MF3DErr    MF3D_EndRead(MF3D_FilePtr metafile);
  91. MF3DErr    MF3D_BeginWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object,
  92.                 MF3D_ObjStuffPtr *objStuff);
  93. MF3DErr    MF3D_EndWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object);
  94. /* object types */
  95. MF3DErr    MF3D_ObjTypeRead(MF3D_FilePtr metafile, MF3D_ObjStuffPtr *objStuff,
  96.                 MF3DObjType *objType);
  97. MF3DErr    MF3D_ObjTypeWrite(MF3D_FilePtr metafile, MF3DVoidObjPtr object,
  98.                 MF3D_ObjStuffPtr *objStuff);
  99. /* references */
  100. MF3DErr    MF3D_RefRead(MF3D_FilePtr metafile, MF3DPositionReference *data);
  101. MF3DErr    MF3D_RefWrite(MF3D_FilePtr metafile, MF3D_TOCPosition data);
  102. MF3DErr    MF3D_TOCRefWrite(MF3D_FilePtr metafile, MF3DPositionReferencePtr data);
  103. MF3DErr    MF3D_LabelWrite(MF3D_FilePtr metafile, MF3DReferenceInfoPtr data,
  104.                 MF3DBinaryFilePosition location, MF3DObjType type);
  105.  
  106. /* booleans */
  107. MF3DErr    MF3D_BooleanRead(MF3D_FilePtr metafile, MF3DBoolean *data);
  108. MF3DErr    MF3D_BooleanWrite(MF3D_FilePtr metafile, const MF3DBoolean data);
  109.  
  110. /* preprocess */
  111. MF3DErr    MF3D_PreprocessFile(MF3D_FilePtr metafile);
  112.  
  113. /* get reference name */
  114. MF3DCStringPtr    MF3D_GetRefName(MF3D_FilePtr metafile, MF3DReferenceID refID);
  115.  
  116. /* postprocess */
  117. MF3DErr    MF3D_PostprocessFile(MF3D_FilePtr metafile);
  118.  
  119. /*==============================================================================
  120.  *    Basic 3-D Types
  121.  *==============================================================================
  122.  */
  123. MF3DErr    MF3D_Point2DRead(MF3D_FilePtr metafile, MF3DPoint2D *point);
  124. MF3DErr    MF3D_Point2DWrite(MF3D_FilePtr metafile, const MF3DPoint2D point);
  125. MF3DErr    MF3D_Point3DRead(MF3D_FilePtr metafile, MF3DPoint3D *point);
  126. MF3DErr    MF3D_Point3DWrite(MF3D_FilePtr metafile, const MF3DPoint3D point);
  127. MF3DErr    MF3D_RationalPoint3DRead(MF3D_FilePtr metafile,
  128.                 MF3DRationalPoint3D *point);
  129. MF3DErr    MF3D_RationalPoint3DWrite(MF3D_FilePtr metafile,
  130.                 const MF3DRationalPoint3D point);
  131. MF3DErr    MF3D_RationalPoint4DRead(MF3D_FilePtr metafile,
  132.                 MF3DRationalPoint4D *point);
  133. MF3DErr    MF3D_RationalPoint4DWrite(MF3D_FilePtr metafile,
  134.                 const MF3DRationalPoint4D point);
  135. MF3DErr    MF3D_Vector3DRead(MF3D_FilePtr metafile, MF3DVector3D *vector);
  136. MF3DErr    MF3D_Vector3DWrite(MF3D_FilePtr metafile, const MF3DVector3D vector);
  137. MF3DErr    MF3D_QuaternionRead(MF3D_FilePtr metafile, MF3DQuaternion *quaternion);
  138. MF3DErr    MF3D_QuaternionWrite(MF3D_FilePtr metafile,
  139.                 const MF3DQuaternion quaternion);
  140. MF3DErr    MF3D_Matrix3x3Read(MF3D_FilePtr metafile, MF3DMatrix3x3 matrix);
  141. MF3DErr    MF3D_Matrix3x3Write(MF3D_FilePtr metafile, const MF3DMatrix3x3 matrix);
  142. MF3DErr    MF3D_Matrix4x4Read(MF3D_FilePtr metafile, MF3DMatrix4x4 matrix);
  143. MF3DErr    MF3D_Matrix4x4Write(MF3D_FilePtr metafile, const MF3DMatrix4x4 matrix);
  144. MF3DErr    MF3D_RGBColorRead(MF3D_FilePtr metafile, MF3DRGBColor *color);
  145. MF3DErr    MF3D_RGBColorWrite(MF3D_FilePtr metafile, const MF3DRGBColor color);
  146. MF3DErr    MF3D_Param2DRead(MF3D_FilePtr metafile, MF3DParam2D *param);
  147. MF3DErr    MF3D_Param2DWrite(MF3D_FilePtr metafile, const MF3DParam2D param);
  148.  
  149. /*==============================================================================
  150.  *    Comments
  151.  *==============================================================================
  152.  */
  153. MF3DErr    MF3D_CommentStrWrite(MF3D_FilePtr metafile, const char *data);
  154. MF3DErr    MF3D_CommentNumWrite(MF3D_FilePtr metafile, const MF3DInt32 data);
  155.  
  156. /*==============================================================================
  157.  *    Other Routines
  158.  *==============================================================================
  159.  */
  160. MF3DErr    MF3D_PositionReferenceDisposer(const MF3DPositionReferencePtr inPosRef);
  161. MF3DErr MF3D_VariableUnsRead(MF3D_FilePtr inMetafilePtr, MF3DUns32 inMaxValue,
  162.                 MF3DUns32Ptr outValue);
  163. MF3DErr MF3D_VariableUnsWrite(MF3D_FilePtr inMetafilePtr, MF3DUns32 inMaxValue,
  164.                 const MF3DUns32 inValue);
  165.  
  166. #endif
  167.